'use strict';
module.exports = {
	/**
	 * 获取动态详情
	 * @url client/dynamic/kh/getDynamicDetail 前端调用的url参数地址
	 * data 请求参数
	 * @param {String} params1  参数1
	 */
	main: async (event) => {
		let {
			data = {}, userInfo, util, filterResponse, originalParam
		} = event;
		let {
			customUtil,
			uniID,
			config,
			pubFun,
			vk,
			db,
			_
		} = util;
		let {
			uid
		} = data;
		let res = {
			code: 0,
			msg: "",
			data: {}
		};
		// 业务逻辑开始-----------------------------------------------------------
		let dynamic = await vk.baseDao.selects({
			dbName: "wy-dynamic", // 主表名
			getMain: true, // 是否只返回rows数据，默认false
			// 主表where条件
			whereJson: {
				_id: data._id
			},
			// 主表字段显示规则
			fieldJson: {},
			// 主表排序规则
			sortArr: [],
			// 副表列表
			foreignDB: [{
				dbName: "uni-id-users", // 副表名
				localKey: "user_id", // 主表外键字段名
				foreignKey: "_id", // 副表外键字段名
				as: "publisher",
				limit: 1, // 当limit = 1时，以对象形式返回，否则以数组形式返回
				// 副表where条件
				whereJson: {
					// status:0
				},
				// 副表字段显示规则
				fieldJson: {
					avatar: true,
					nickname: true
				}
			}, {
				dbName: "wy-dynamic-comments", // 副表名
				localKey: "_id", // 主表外键字段名
				foreignKey: "dynamic_id", // 副表外键字段名
				as: "comments",
				// 副表where条件
				whereJson: {
					// status:0
					comment_type: 0
				},
				sortArr: [{
					"name": "_add_time",
					"type": "desc"
				}],
				// 副表字段显示规则
				fieldJson: {
					// token: false,
				},
				foreignDB: [{
					dbName: "uni-id-users",
					localKey: "user_id",
					foreignKey: "_id",
					as: "commenter",
					limit: 1,
					fieldJson: {
						avatar: true,
						nickname: true
					}
				}]
			}, {
				dbName: "wy-cloth-work", // 副表名
				localKey: "work_id", // 主表外键字段名
				foreignKey: "_id", // 副表外键字段名
				as: "relatedWork",
				limit: 1, // 当limit = 1时，以对象形式返回，否则以数组形式返回
				// 副表where条件
				whereJson: {
					// status:0
				},
				// 副表字段显示规则
				fieldJson: {
					// token: false,
					cloth_imgs: true,
					name: true
				},
				// 副表列表
				foreignDB: [{
					dbName: "wy-cloth-template",
					localKey: "template_id",
					foreignKey: "_id",
					as: "template",
					limit: 1,
					fieldJson: {
						name: true
					}
				}]
			}]
		});
		res.data = dynamic[0];
		
		
		let info1 = await vk.baseDao.findByWhereJson({
			dbName: "wy-dynamic-like",
			whereJson: {
				dynamic_id: data._id,
				user_id: uid
			}
		});
		if (info1) {
			res.data.isLiked = true;
		}

		
		
		res.data.like_num = await vk.baseDao.count({
			dbName: "wy-dynamic-like", // 表名
		 whereJson: { // 条件
		 	dynamic_id: data._id,
			}
		});
		
		let info2 = await vk.baseDao.findByWhereJson({
			dbName: "wy-dynamic-collection",
			whereJson: {
				dynamic_id: data._id,
				user_id: uid
			}
		});
		if (info2) {
			res.data.isCollected = true;
		}
		
		
		
		res.data.collect_num = await vk.baseDao.count({
			dbName: "wy-dynamic-collection", // 表名
		 whereJson: { // 条件
		 	dynamic_id: data._id,
			}
		});
		



		// 业务逻辑结束-----------------------------------------------------------
		return res;
	}
}
